System and method for capturing and using move data

ABSTRACT

A system and method for capturing and using move data from a user are disclosed. The system may use one or more sensors to capture raw data about a physical activity of the user. The raw data about the physical activity of the user may be processed into one or more pieces of move data relating to the physical activity of the user. The processed move data may be used for various purposes, such as, for example, to play a virtual game, to provide to a social network system or to provide training to the user.

FIELD

The disclosure relates generally to a system for capturing move datawhile a user plays a game.

BACKGROUND

Currently, the majority of available sports gear and accessories cannotrecord personal exercise/training data of a user and track the changesover time. In addition, current sport gear and accessories do not allowusers to participate in social functions or to extract the real exercisedata and use the real exercise data for other purposes.

Soccer balls exist that have sensors within the soccer ball that may beknown as smart soccer balls. However, the design of current smart soccerballs lack sufficient sensors to capture the interaction between theball and the players. Specifically, current smart soccer balls havesensors that can be used only to capture simple data, such as kickingforce, direction and height, but do not capture more complicated datasuch as goals scored or passes between players. No system for group orindividual sports currently exists that allows users to capture thiskind of data.

Due to the limitations of the smart soccer balls, users cannot collectdata and determine tell who kicked the ball, where the ball was kicked,and to whom the ball was kicked. Therefore, users cannot incorporatedata from current smart soccer balls into social media platforms orcombine real-life game play data into virtual worlds or video games.

Some prior art methods also required players to separately attachsensors to the ball, which significantly increased the cost.

Thus, it is desirable to provide a system for collecting data from gameplay to allow users to incorporate it into social media platforms,virtual worlds, or video games, and it is to this end that thedisclosure is directed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an implementation of a system for capturing andusing move data from a user;

FIG. 2 is a diagram illustrating an example of a ball that may be usedwith the system;

FIG. 3 is a diagram illustrating an example of user worn sensor that maybe used with the system;

FIG. 4 illustrates a circuit block diagram of a sensor that may be usedby the system;

FIG. 5 is a diagram illustrating an example of the system used for abasketball game;

FIG. 6 is a flowchart illustrating the system used to generate move datafrom raw data gathered from sensors;

FIGS. 7 and 8 illustrate raw data being generated for two differentbasketball games;

FIG. 9 is a chart illustrating an example of raw data gathered from oneor more sensors;

FIG. 10 is a chart illustrating an example of basketball move datagenerated from an application programming interface;

FIGS. 11A and 11B illustrate a method for generating basketball movedata;

FIG. 12 illustrates an example of a basketball game implement with a setof sensors; and

FIG. 13 illustrates an example of basketball statistics that may begenerated by the system using the move data.

DETAILED DESCRIPTION OF ONE OR MORE EMBODIMENTS

The disclosure will be described in detail as it pertains to a specificexample of a sport (basketball) in which move data is captured and usedand to a specific example of a use of the move data (a virtual game.)However, the system and method is not limited to the examples used forillustration purposes. For example, the system may be used to capturedata about various different physical activities of the user, such assoccer, football, badminton, baseball, tennis, golf, ice hockey,volleyball, cricket, squash or any other event/game/sport/exercise inwhich it would be desirable to be able to capture raw data about aplurality of movements of one or more users. Furthermore, the system mayprovide the move data of the one or more users to a social network, atraining aid and other systems that may use the move data.

The system is described below as being implemented as a system with oneor more sensors and a backend system that gathers the raw data, convertsthe raw data into a set of move data or each player and then sends thegenerated move data to various external systems and sites. However, thesystem may be implemented in which each sensor may perform its ownprocessing of the raw data to generate the move data and then interactwith the external systems (without a backend.)

FIG. 1 is a diagram of an implementation of a system 100 for capturingand using move data from a user. The system may use one or more sensors102 to capture raw data about a physical activity of the user. Forexample, depending on the physical activity of the user, the sensor maybe located on a body part of a user 104, such as an arm or leg, attachedto or embedded in a ball 106 or attached to or embedded in an implement108 used for the physical activity, such as a bat for a baseballactivity, a racket for tennis or badminton, a basketball hoop forbasketball, a soccer goal for soccer and the like. In addition, forcertain physical activities, such as a game of basketball, there mayalso be one or more sensors near a basketball rim at end of the courtthat may collect raw data about a ball being near the basketball rim andpassing through the basketball rim to indicate a successful shot.Similar, for a soccer game, the goal at each end of the soccer field mayhave one or more sensors to provide raw data about when the soccer ballgoes into the goal. Other physical activities may have similaradditional sensors. In addition, the system 100 may be used by multipleusers who each have the sensors 102 to measure the movement and actionsof the user during the physical activity.

Each sensor 102 may capture raw data and may be a sensor without amemory or a sensor that includes a memory. Thus, in one embodiment, eachsensor 102 may store the raw data about the player and then periodicallyupload the data over a link 110 to a backend component 120. In anotherembodiment, each sensor may store the raw data and upload it to acomputing device (described in more detail with reference to FIG. 5)that then uploads the data to the backend component 120. In anotherembodiment, each sensor captures the raw data and immediately sends theraw data to the computing device. In yet another embodiment, each sensor102 may have sufficient processing power and memory to capture the rawdata and generate the move data from the raw data (described in moredetail below) and the system does not have the backend component 120since the move data from the sensors may be provided directly to thesocial network 122 and/or the other systems 124, such as games ortraining devices. In some embodiments, the sensor(s) 102 in the ball 106or implement 108 used for the physical activity may be embeddedresulting in the ball 106 or implement 108 being ready to use in thesystem out of the package and reducing the overall cost of the system tothe user.

Each sensor 102 that is associated with a ball 106 or an implement 108may measure various data about a physical activity of the user asdescribed below in more detail. Alternatively, each sensor in animplement, such as a basketball rim or soccer goal, may measure thepresence of the ball 106 to indicate a field goal of the user inbasketball or a goal in a soccer game. Each sensor 102 on the user 104may identify the particular user and may determine when the user is nearthe ball 106 or implement 108.

In the illustrated embodiment, the raw data from each sensor may becommunicated over the link 110 to the backend component 120. The link110 may be a wired or wireless link. For example, the link may beEthernet, the Internet, a wireless data network, a wireless cellulardata network, a WiFi network and the like. The backend component 120 maybe implemented using one or more computing resources, such as one ormore server computers, one or more cloud computing resources and thelike that move one or more processors, memory and other typicalcomponents in which at least one processor of the one or more computingresources may execute a plurality of lines of computer code (stored inthe memory, for example) that implement the elements of the backendcomponent. Alternatively, the backend component may be implemented inhardware with one or more programmed integrated circuits and the likethat implement the elements of the backend component. In the illustratedembodiment, the backend component 120 also may have a move dataprocessor 122 that receives the raw data from each of the sensors andgenerates the various different types of move data depending on thephysical activity of the user. In other embodiments, there may be aplurality of move data processors 122 in which each move data processor122 receives the raw data and then generates the move data for aparticular physical activity, such as a soccer move data processor thatgenerates soccer specific move data or a baseball move data processorthat generates baseball specific move data. Thus, there may be a movedata processor 122 for each different physical activity of the system.In embodiments in which the sensors 102 generate their own move data,the backend component may not be present or may be used as a gateway tocommunicate the move data.

In the illustrated embodiment, the backend component 120 may also have astore 124 that stores the data of the system including the user data,move data of each user and the like. The store 124 may also store theplurality of lines of computer code that generate the move data. Thestore 124 may be a database that may be implemented in hardware orsoftware. In the illustrated embodiment, the backend component 120 maycommunicate, over one or more interfaces 121 a, 121 b, such as anapplication programming interface (API), the move data to one or moreother systems, such as a social network system 126 or other systems 128that may use the move data for various purposes. For example, the socialnetwork system may use the move data to generate statistics for eachuser based on the move data (or the backend component may generate thestatistics.) For example, the other systems 128 may be a virtual gamethat uses the move data of the user to play a virtual game or a trainingsystem that generates training data based on the move data. Forillustration purposes only, the system may be used to capture basketballmove data and then used to play a virtual basketball game as shown inFIG. 6 in which move data from one or more users may be used to play thevirtual game.

Thus, using the system and method, raw physical activity data isgathered from one or more sensors 102, processed into move data (atvarious different locations) and sent to an interface where the user mayshare the move data, such as with her social network, to enhance anavatar's performance in a video game or virtual game or use the movedata to improve real-life sports performance.

FIG. 2 is a diagram illustrating an example of a ball 106 that may beused with the system. The ball may have a bladder 106 a and a cover 106b having a thickness as is typical with a ball that is inflated to usein a physical activity, such as soccer or basketball. In one example,the sensor 102 in the ball may have a set of components 106 c may beembedded into the cover portion as shown. The set of components may alsobe attached to the outside of the ball or within the bladder of theball. For a ball that is not inflated during use, such as a baseball,softball, golf ball and the like, the components 106 c may be embeddedinto the material of the ball or attached to the outside of the ball.When the sensor 102 is attached to the user, ball or implement, thesensor may be attached using a fastener, Velcro and the like.

The set of components 106 c may include one or more sensors, such as anaccelerometer, thermometer, light sensor, pressure sensor, rotationangle sensor, speed sensor, a magnetic field direction sensor or amagnetic field strength sensor, one or more processors that control theoverall operation of the set of components, a memory to store data usedby the processor and store the sensor data, a power source, such as abattery, to power the set of components and a communications module towirelessly communicate the raw data from the sensors. The set ofcomponents 106 c may also measure ambient light, humidity or any otherproperty. The set of components also may include additional electronicssuch as a system for determining position, such as a GPS sensor, and acharger so that the battery may be recharged wherein the charger may bea wireless charger. The set of components also may have one or more LEDlights and/or one or more speakers that provide feedback to the user.For example, the lights may flash or the speaker may emit a sound when aball is placed into a bag that has been tagged with an ID chip,signaling that game play has ended.

FIG. 3 is a diagram illustrating an example of user worn sensor 102 thatmay be used with the system. In FIG. 3, only a portion of the sensor 102is shown and the sensor may have an RFID chip 102 a. In the example inFIG. 3, the RFID chip 102 a may be in a band 300 worn by the user 104.In one example, the sensor 102 may identify the user when the user isinvolved in a physical activity and then be used to determine when theuser is interacting with the ball 106, such as dribbling and/or shootingthe basketball, dribbling and/or shooting the soccer ball or holding thebat or badminton racket. Using the raw data from the sensor connected tothe user and then ball or implement sensor, the system may determinewhen the user is interacting with the ball or implement and thusgenerate the move data for the user as described below in more detail.

FIG. 4 shows a circuit block diagram of a sensor system 102 that may beused by the system. The sensor may have one or more sensor elements 400,a processor 402, RAM 404 and memory 406 that are connected to eachother. The one or more sensor elements 400 may directly transmit the rawdata through a universal serial bus (USB), WiFi, Bluetooth, near fieldcommunication (NFC), 3G, or 4G data networks to the processor 402. Thesensor elements 400 may also transmit the raw data to the memory 404,such as a random access memory (RAM), which then transmits data to theprocessor 402.

FIG. 5 is a diagram illustrating an example of the system used for abasketball game in which a basketball 106 has one or more sensors thatcollect raw data for the basketball game. In the basketball game examplein FIG. 5, each user who participates in the basketball game have atleast one sensor connected to them. In the example of the system in FIG.5, the raw data from the sensors 102 (including the sensor attached tothe user) are sent across the link 110 over the interfaces 121 a, 121 bto the social network system 126 or a virtual game 128. For example, thelink may be one or more computing devices 110 a and a computer network110 b. Each of the one or more computing devices may be a smartphonedevice, a tablet computer, a wireless access point, a computer or apersonal computer as shown. In this example, the raw data of the sensorsmay be processed into the move data at each sensor or by one of thecomputing devices 110 a. In this example, the move data may be used toallow one or more users to play a virtual game of basketball as shown.

FIG. 6 is a flowchart of an example of the system used to generate movedata from raw data gathered from sensors 102 and then delivered to othersystems over the interfaces 121 a, 121 b. As described above, raw datamay be generated from the sensor-containing accessories 102, such as aball and from the sensors attached to the player. The raw data of thesensors may be transmitted in real time to a computing device 110 a,such as a smartphone, tablet, PC, WiFi hotspot, or cradle. The computingdevice 110 a may then upload the raw data to the backend system 120,such as a server, housing one or more move data processors and theinterfaces. The one or more move processors or the interfaces of thebackend 120 may have modules containing algorithms and instructions forprocessing the raw data into move data according to a particularphysical activity for which the system is being used. As shown in FIG.6, the interface 121 a may be used to send the move data for thephysical activity to a social network system 126 and specifically withone or more friends of the social network system. The interface 121 bmay be used to send the move data for the physical activity to the game128 so that the move data of one or more users may be used to affect thegame play. For example, as shown in FIGS. 7 and 8, the system may beused to gather raw data from one or more users in different basketballgames (Andy, Nel, Tom, Peter, Jack and Jerry on a first basketball courtand Kebi, Wade, Jordan, Rose, James and Pippen on a second basketballcourt) and then use that data (once converted into move data for eachuser) for a virtual game. The raw data for each basketball court may begathered contemporaneously at the same location or the raw data may begathered at different times or at different locations. Furthermore, inthe example in FIGS. 7 and 8, the physical activity in FIG. 7 may be abasketball game being played by a set of amateur players while thephysical activity in FIG. 7 may be a basketball game being played byprofessional basketball players so that the team of amateur players mayvirtually play against the team of professional basketball players.

For the basketball game example shown in FIGS. 5 and 7-8, the implement108 may be a basketball hoop as shown in FIG. 12 through which a ball106 may pass when a user of the system makes a field goal. Thebasketball hoop may thus have one or more sensors 102, such as ID A, IDB and IDC, that determine when the ball 106 pass near and/or through thebasketball hoop. For example, the sensors may generate raw data that maybe used to determine if a field goal is made by a user or if a user getsa rebound of the basketball.

FIG. 9 is a chart illustrating an example of raw data gathered from oneor more sensors for a basketball game and FIG. 10 is a chartillustrating an example of basketball move data generated from anapplication programming interface. For the basketball game, each usermay have a user sensor 102 that has an RFID chip which will enable thesystem to identify each user. In combination with the other sensors 102,the system can determine the movement of the basketball between specificplayers, such as when the ball is passed to a teammate or to a member ofthe opposing team (known as a steal.) For example, the move dataprocessor may compare a time when the user sensor indicates that theball sensor in near the user to determine that the user has the ball.When the user dribbles the ball, passes the ball or shoots the ball, theraw data of the user sensor indicates that the ball is no longer nearthe user (for a pass or a shot) or returns to the user when the user isdribbling the ball. The sensors may be attached to the hoop, backboard,and basket, to enable the system to triangulate and determine when auser shoots the ball and whether it goes in or bounces off the backboardor rim, depending on the position of the ball relative to the sensors onthe backboard and hoop.

Using raw data from the various sensors, the system may also determineother basketball move data, such as dribbling, shooting, holding,rebound, steal, blocked shot, and three-pointers. The system may alsodetermine other move data useful to a player, such as the geographiclocation of the game, temperature of the surroundings, pressure withinthe ball, rotation speed and angle of the ball, and magnetic fielddirection and strength. For example, the move data processor may receivethe raw data from the sensors of the user, the ball sensor raw data andthe hoop sensor raw data and then generate a dribbling movement of theuser based on the raw data for whatever period of time that the user isdribbling the ball, Similarly, the move data may process the raw data togenerate move data for shooting, holding, rebound, steal, blocked shot,and three-pointers of the user. FIG. 10 shows an example of the types ofbasketball move data determined by the system. As shown in FIG. 10, eachpiece of move data (labeled #1 to #14) may include a date field, a timefield, a start time field, stop time field (such as a start and stoptime of the user dribbling the ball), a field indicating that the movedata is dribbling move data, a field indication that the move data ispass move data, a field indicating that the particular move data isshooting move data, etc. The backend system may then send the data to asocial media platform, such as Twitter, Google+, and Facebook, where theuser may upload the move data to the platform to share. The backendsystem may also send the data to a video game, where the user may usethe move data to affect video game play by enhancing the performance ofan avatar.

FIGS. 11A and 11B illustrate a method 1100 for generating basketballmove data for a user that may be carried out by the move data processorof the backend component, within the sensor or within the computingdevice 110 a. The described method may be performed for each user of thesystem that uses the sensors for a particular period of time. In themethod, the raw sensor data of the user is received 1102 and the methoddetermines if the ball (based on the sensor raw data of the ball) isnear the user (based on the proximity of the user sensor to the ballsensor) 1104. If the ball is not near the user during the particularperiod of time (indicating that the user is not interacting with theball), then the method is completed and no move data is generated forthat user for that particular period of time. However, the method may berepeated for each user during a number of different periods of timesince the user may interact with the ball during a different period oftime and move data for the user should be generated.

If the user is near the ball initially during the time period, themethod then determines if the user is not near the ball following asubsequent time period (based on the proximity of the ball sensor andthe user sensor) 1106. If the ball is still near the user, then themethod may generate ball holding move data for the user 1108 and storethat move data. If the user is no longer near the ball during thesubsequent time period, the method then determines if the ball is nearthe user during a next subsequent time period 1110. If the user is notnear the ball during the next subsequent time period, the method maygenerate stealing move data for the user (if the ball sensor indicatesthat the ball is near a user on a different team), shooting move datafor the user (if the ball sensor and the hoop sensors indicate that theball has gone through the hoop) and/or passing move data for the user(if the ball sensor indicates that the ball is near a user on the sameteam). For the shooting move data, the user sensor raw data may containraw data about the positioning of the user on the court (and theposition of the three point line on the court) so that the system candetermine if the user scored a field goal or a three point shot. If theuser is again near the ball during the next subsequent time period, themethod may generate dribbling move data for the user until the ballsensor indicates that the user is no longer near the ball.

In addition to the basketball move data shown in FIG. 10 and describeabove, the system may also generate passing success rate move data (apercentage of successful passes versus a percentage of steals), ashooting success rate, rebound move data (indicating when a user is nearthe ball and the ball is near the hoop, but not passing through thehoop) and/or blocked shot move data. The system may also generate, forthe various different physical activities, time of playing the game movedata, geographical location of the game, temperature at the time of thegame, pressure within the ball during the game, rotational speed of theball during the game, rotational angle of the ball during the game,participants in the game (based on the sensors on the players and/orbrightness of the playing environment. The system may also be used togenerate additional types of move data for basketball or other physicalactivities not specifically described above since the above list ismerely representative of the different type of move data.

The basketball move data may then be imported into a social network orvideo game. FIG. 13 depicts an example of the statics generated based onthe move data from a video game in which the user may alter video gameplay by enhancing his/her video game avatar with move data from areal-life basketball game previously played. The user may enhance thevideo game avatar's performance to play with the avatars of professionalbasketball players. Similarly, volleyball move data that is similar tothe basketball move data may be generated.

In a second implementation, the system may be used to generate move datafor a racket sport, such as tennis or badminton. In this implementation,the racket (an example of the implement 108) may have tension sensorsbuilt into the strings to generate raw data, which may be processed withthe tennis or badminton module on the API to determine the point atwhich the racket made contact with the ball. The racket may also havetri-axial acceleration sensors and a gyroscope to generate raw data,which may be processed to determine motion of the racket. Additionally,the racket may have a GPS to determine location information of theplayers, as well as a processor, memory devices, battery, and charger.For the racket sport, the system may generate level ofstrength/intensity/force of each racket swing, racket speed when hittingthe ball, angle of hitting, ball point of contact with the racket, gripstrength, time of game, and/or the player's body temperature during thegame.

In a third implementation, the system may determine baseball move data.The baseball bat may have sensors built into it to generate raw data.The raw data may be processed by the baseball module on the API todetermine baseball move data such as level of strength/intensity/forceof each swing, speed of the bat at contact time, angle of swing,relative location between the ball and the bat, grip strength, and aplayer's body temperature.

In a fourth implementation, the system may determine soccer move data.The user may attach additional identifying sensors to the player and thegoal to generate additional raw data. The raw data may be processed bythe soccer module on the API to determine soccer move data such as apass, success rate of passes, shooting, force of ball contact, goals,steals, rotation speed and/or angle of the ball, and player information.

In a fifth implementation, the system may determine the system maydetermine football or ice hockey move data, such as a pass, run, snap,interception, fumble, touchdown, field goal, force of ball contact,rotation speed and/or angle of the ball, and player information. In asixth implementation, the system may determine golf move data, such asforce/power of each swing, speed of hit, angle of the club, relativelocation of the club, point of contact between ball and club, gripstrength, and/or a user's body temperature during the game.

The system and method brings a traditionally offline activity, such as aplaying a basketball game or doing a physical activity, into the digitalage, allowing users to connect with other social network users, enhancetheir video game avatars, or improve upon their real-life game playusing move data of past performances.

While the foregoing has been with reference to a particular embodimentof the invention, it will be appreciated by those skilled in the artthat changes in this embodiment may be made without departing from theprinciples and spirit of the disclosure, the scope of which is definedby the appended claims.

1. A method for generating move data from a physical activity,comprising: providing a sensor for each user in the physical activity,at least one sensor for a ball or implement used during the physicalactivity; gathering raw data from each sensor being used in the physicalactivity; processing the raw data from each sensor into one or morepieces of move data for the physical activity; outputting the one ormore pieces of move data using an interface; and using the one or morepieces of move data by one of a social network and a virtual game. 2.The method of claim 1, wherein outputting the one or more pieces of movedata using an interface further comprises outputting the one or morepieces of move data using an application programming interface.
 3. Themethod of claim 1, wherein the physical activity is a sport physicalactivity.
 4. The method of claim 1, wherein processing the raw data fromeach sensor into one or more pieces of move data for the physicalactivity further comprises processing the raw data into one or morepieces of move data for one of a basketball physical activity, a soccerphysical activity, a tennis physical activity, a badminton physicalactivity, a football physical activity, an ice hockey physical activity,a cricket physical activity, a squash physical activity and a baseballphysical activity.
 5. The method of claim 1, wherein gathering the rawuser sensor data further comprising gathering an identifier of the userand a location of the user.
 6. The method of claim 5, wherein gatheringthe raw data for the ball sensor further comprises generating one ormore of acceleration data of the ball, temperature of the ball, pressuredata of the data, rotational angle of the ball and speed of the ball, amagnetic field of the ball, ambient light striking the ball and humidityaround the ball.
 7. The method of claim 1, wherein gathering the rawdata further comprises generating raw data from one or more sensorsconnected to a goal of the physical activity.
 8. The method of claim 7,wherein generating raw data from one or more sensors connected to a goalof the physical activity further comprises generates raw data about aproximity of the ball to the goal of the physical activity.
 9. Anapparatus for generating move data from game play with sensor-containingaccessories, comprising: a computer implemented move data processor thatreceives raw data from at least one sensor associated with a ball beingused for a physical activity and at least one sensor from a userparticipating in the physical activity and generates one or more piecesof move data for the physical activity based on the raw data from thesensors; an interface, coupled to the computer implemented move dataprocessor, that outputs the pieces of move data for the physicalactivity; and one of a social network and a virtual game that uses theone or more pieces of move data.
 10. The apparatus of claim 9, whereinthe interface is an application programming interface.
 11. The apparatusof claim 9, wherein the physical activity is a sport physical activity.12. The apparatus of claim 9, wherein a basketball physical activity, asoccer physical activity, a tennis physical activity, a badmintonphysical activity, a football physical activity, an ice hockey physicalactivity, a cricket physical activity, a squash physical activity and abaseball physical activity.
 13. The apparatus of claim 9 furthercomprising one or more user sensors wherein each user sensor gathers anidentifier of the user and a location of the user.
 14. The apparatus ofclaim 9 further comprising one or more ball sensors that gather raw dataabout acceleration data of the ball, temperature of the ball, pressuredata of the data, rotational angle of the ball and speed of the ball, amagnetic field of the ball, ambient light striking the ball and humidityaround the ball.
 15. The apparatus of claim 9 further comprising a goalsensor.
 16. The apparatus of claim 15, wherein the goal sensor is one ofa basketball hoop sensor and a soccer goal sensor.
 17. The apparatus ofclaim 9 further comprising a computer implemented backend component thatcan be coupled to the sensors wherein the computer implemented backendcomponent includes the move data processor.
 18. The apparatus of claim12, wherein the move data processor further comprises a move dataprocessor for each type of physical activity.
 19. The apparatus of claim17, wherein the move data processor further comprises a move dataprocessor for each type of physical activity.